import { reqCategoryList, reqGetBannerList,reqFloorList } from '@/api'
// home模块存的小仓库
// 存储仓库数据的地方
const state = {
  // state中的数据初始值别乱写
  categoryList: [],
  // 轮播图数据
  bannerList:[],
  // 
  floorList:[],
}
// 修改state的唯一手段
const mutations = {
  CATEGORYLIST(state, categoryList) {
    state.categoryList = categoryList
  },
  GETBANNERLIST(state,bannerList){
    state.bannerList = bannerList
  },
  GETFLOORLIST(state,floorList){
    state.floorList = floorList
  }
}
// 处理action可以书写自己的业务逻辑，也可以处理异步
const actions = {
  // 通过API里面的接口函数调用，向服务器发请求，获取服务器的数据
  async categoryList({ commit }) {
    let result = await reqCategoryList()
    if (result.code === 200) {
      commit('CATEGORYLIST', result.data)
    }
  },
  // 获取首页轮播图的数据
  async getBannerList({commit}) {
    let result = await reqGetBannerList()
    if(result.code == 200){
      commit('GETBANNERLIST',result.data)
    }
  },
  async getFloorList({commit}){
    let result = await reqFloorList()
    if(result.code == 200){
      commit('GETFLOORLIST', result.data)
    }
  }
}
// 理解为计算属性，用于简化出库数据，让组件获取仓库的数据更加方便
const getters = {
}

export default {
  state,
  mutations,
  actions,
  getters,
}